﻿#ifndef _GUIENT_H_
#define _GUIENT_H_

//1001-2000
enum GuiEventType
{
	GET_PopUpMenu=1001,
	GET_2D3DChange,	
	GET_CameraChange,
	
	GET_StartEdit3D,
	GET_StopEdit3D,
	GET_SaveEdit3D,
	GET_Undo3D,
	GET_Redo3D,
	GET_Editing3DLayerChanged,
	GET_ModelEdit3DCommand,
	GET_EffectEdit3DCommand,
	GET_PointSelect3D,
	GET_PointSelectSubmesh,
	GET_RectSelect3D,
	GET_Measurearea3D,
	GET_MeasureLength3D,
	GET_MeasurePoint3D,
	GET_MeasureVertical,
	GET_MeasureAzimuth3D,
	GET_AnalysisFlood3D,
	GET_AnalysisSection,
	GET_AnalysisSlope,
	GET_AnalysisVisibility,
	GET_AnalysisVolume,
	GET_StopAnalysisMeasure3D,
	GET_AnalysisMeasureFinished3DAsyn,     // 三维分析或测量子线程中计算完成时发送的异步事件
	GET_AnalysisMeasureFinished3D,
	GET_CloseEditSelector3D,
	GET_Information3D,

    //飞行工具条
	/////////////////////////////////////////////
	GET_NewRoute,
	GET_DeleteRoute,
	GET_DeleteRefresh,
	GET_ShowRoutePropety,
	GET_ShowRoutePropetyRefresh,
	GET_ChangeRoute,
	GET_StartAddControlPoint,
	GET_StartAddControlPointRefresh,
	GET_EndAddControlPoint,
    GET_RecordCameraPostion,
	GET_RecordCameraPostionRefresh,
	GET_EndAddControlPointRefresh,
	GET_StartFly,
	GET_PauseFly,
	GET_EndFly,
	GET_StartFlyRefresh,
	GET_PauseFlyRefresh,
	GET_EndFlyRefresh,
	GET_Exit,
	
	/////////////////////////////////////////////
	GET_EventTypeStart_AtlasManager,	// 地图及场景管理 事件类型
	GET_ActiveMap,						// 地图激活事件。（打开地图时也会发送此事件）
	GET_ActiveScene,					// 场景激活事件。（打开场景时也会发送此事件）

	GET_CreateMap,
	GET_CreateScene,

	GET_SetAsCurrentMap,
	GET_SetAsCurrentScene,					
	GET_RemoveMap,		// 在地图树上移除地图节点（和渲染窗体无关）
	GET_RemoveScene,	// 在场景树上移除地图节点（和渲染窗体无关）

	GET_OpenMap,
	GET_OpenScene,

	// 下面这两个事件分别在CViewManager::closeMap()和CViewManager::closeGlobe()中发送，发送之后将会销毁对应的ISpatialControl。
	// 但是不会销毁关联的窗口，这意味着你需要在接收到这两个事件后手动销毁渲染窗口。
	// 处理流程为：
	// (1) 调用CViewManager::closeMap()或者CViewManager::closeGlobe()
	// (2) 处理GET_CloseMap或GET_CloseScene，销毁渲染窗口。
	GET_CloseMap,		// 关闭地图渲染窗体，关联的数据类为CMapActiveEvent。
	GET_CloseScene,		// 关闭场景渲染窗体，关联的数据类为CSceneActiveEvent。

	GET_CreateMapLayer,
	GET_CreateSceneLayer,
	GET_CreateMapGroupLayer,
	GET_CreateSceneGroupLayer,	
	GET_MapLayersAdded,
	GET_MoveMapLayer,
	GET_MoveSceneLayer,
	GET_SwitchSceneLayer,
	GET_RemoveMapLayer,
	GET_RemoveSceneLayer,
	GET_LayerCanEdit,
	GET_LayerNameChanged,
	GET_MapNameChanged,
	GET_LayerThemeChanged,
	GET_MapLayerVisibilityChanging,
	GET_MapLayerVisibilityChanged,

	GET_SceneLayerVisibilityChanging,
	GET_SceneLayerVisibilityChanged,					
	GET_SceneLayerThemeChanged,

	GET_EventTypeEnd_AtlasManager,

	GET_3DCurrentToolChanged,

	//////////二维操作///////
	GET_EventTypeStart_MapOperation,
	GET_DrawOver,
	GET_ViewportChanged,
	GET_SelectionChanged,
	GET_MapChanged,
	GET_TrackingLayerRepaint,
	GET_LayerChanged,
	GET_CurrentToolChanged,
	GET_StartEditing,
	GET_StopEditing,
	GET_SaveEdits,
	GET_CurrentTaskChanged,
	GET_EditingLayerChanged,
	GET_SketchChanged,
	GET_SketchFinished,
	GET_SketchReset,
	GET_FieldValueChanged,
	GET_FieldChanged,
	GET_EditingAttributeChanged,
	GET_DatasetChanged,
	GET_ModelDatasetChanged,
	GET_EventTypeEnd_MapOperation,
	// 网络分析
	GET_NetworkAnalystNew,
	GET_NetworkAnalystTMP,
	GET_NetworkAnalystStop,
	GET_NetworkAnalystBarriar,
	GET_NetworkAnalystAdjust,
	GET_NetworkAnalystSolve,
	
	GET_ScreenShotUpdate,
	GET_ScreenShot,

	GET_ProgramExit,	// 程序开始退出
	//布局相关事件
	GET_ActiveLayout,	//布局激活事件(打开布局时发送此事件）
	GET_CreateLayout,
	GET_RemoveLayout,
	GET_OpenLayout,
	GET_CloseLayout,
	GET_AddElement,
	GET_DeleteElement,
	GET_ElementSelectionChanged,
	GET_LayoutNameChanged,
	GET_FrameEnvelopeChange,
};
#endif
